package cn.tedu.smartos.family_user.service;

import cn.tedu.smartos.family_user.pojo.dto.ElderlyBindParam;
import cn.tedu.smartos.family_user.pojo.vo.BoundElderlyVO;

import java.util.List;

public interface ElderlyBindService {
    /**
     * 绑定老人信息
     *
     * @param bindParam 绑定参数对象
     * @return 绑定老人的用户ID
     */
    Long bindElderly(ElderlyBindParam bindParam);
    /**
     * 校验家属是否绑定指定老人
     * @param familyUserId 家属ID
     * @param elderlyUserId 老人ID
     * @return 是否绑定关系
     */
    boolean isValidRelation(Long familyUserId, Long elderlyUserId);
    /**
     * 根据老人ID获取绑定的家属ID列表
     */
    List<Long> getFamilyUserIdsByElderlyId(Long elderlyUserId);
    List<BoundElderlyVO> getBoundElderly(Long familyUserId);
    /**
     * 取消绑定
     * @param familyUserId 家属ID
     * @param elderlyUserId 老人ID
     */
    void unbind(Long familyUserId, Long elderlyUserId);
    /**
     * 根据条件获取绑定的老人列表
     * @param familyUserId 家属ID
     * @param relationType 关系类型
     * @param realName 真实姓名
     * @return 绑定的老人列表
     */
    List<BoundElderlyVO> getBoundElderly(Long familyUserId, String relationType, String realName);
}
